package doit20.sparksql

import org.apache.spark.sql.SparkSession

/**
 * @author 涛哥
 * @nick_name "deep as the sea"
 * @contact qq:657270652 wx:doit_edu
 * @site www.doitedu.cn
 * @date 2021-04-10
 * @desc spark整合外面的hive
 */
object Demo9 {

  def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder()
      .enableHiveSupport()  // 启用hive支持；同时，得加入你外部的hive的一些参数
      .appName("")
      .config("spark.sql.shuffle.partitions","10")
      .master("local")
      .getOrCreate()


    spark.sql("show tables").show(100,false)

    spark.sql("select * from t").show(100,false)


    /**
     * 如果在tempveiw中注册了一个 同名的表 t
     * 则运行时内存中的元数据中hive表t，会被这个tempview的表t覆盖
     */
    import spark.implicits._
    spark.createDataset(Seq((1,"aa",18),(2,"bb",28))).toDF("id","name","age").createTempView("t")

    spark.sql("select * from t").show(100,false)


    spark.close()

  }

}
